#pragma once

enum class EntityType
{
	MOB = 0x100,
	PATHFINDERMOB = 0x200 | MOB,
	AGABLEMOB = 0x400 | PATHFINDERMOB,
	MONSTER = 0x800 | PATHFINDERMOB,
	ANIMAL = 0x1000 | AGABLEMOB,
	WATERANIMAL = 0x2000 | MOB,
	TAMABLEANIMAL = 0x4000 | ANIMAL,
	A = 0x8000 | MOB,
	B = 0x10000 | MONSTER,
	C = 0x20000 | B,
	D = 0x40000 | MONSTER,

	CHICKEN = ANIMAL | 10,
	COW = ANIMAL | 11,
	PIG = ANIMAL | 12,
	SHEEP = ANIMAL | 13,
	WOLF = TAMABLEANIMAL | 14,
	VILLAGER = AGABLEMOB | 15,
	MUSHROOMCOW = ANIMAL | 16,
	SQUID = WATERANIMAL | 17,
	RABBIT = ANIMAL | 18,
	BAT = A | 19,
	IRONGOLEM = PATHFINDERMOB | 20,
	SNOWGOLEM = PATHFINDERMOB | 21,
	OCELOT = TAMABLEANIMAL | 22,

	ZOMBIE = C | 32,
	CREEPER = MONSTER | 33,
	SKELETON = B | 34,
	SPIDER = D | 35,
	PIGZOMBIE = B | 36,
	SLIME = MONSTER | 37,
	ENDERMAN = MONSTER | 38,
	SILVERFISH = D | 39,
	CAVESPIDER = D | 40,
	GHAST = MONSTER | 41,
	LAVASLIME = MONSTER | 42,
	BLAZE = MONSTER | 43,
	ZOMBIEVILLAGER = C | 44,

	PLAYER = MOB | 63,

	DROPPED_ITEM = 64,

	PRIMED_TNT = 65,
	FALLING_BLOCK = 66,

	EXPERIENCE_ORB = 69,

	FISHING_HOOK = 77,
	ARROW = 80,
	SNOWBALL = 81,
	THROWN_EGG = 82,
	PAINTING = 83,
	MINECART = 84,
	LARGE_FIREBALL = 85,
	THROWN_POTION = 86,
	BOAT = 90,

	LIGHTNING_BOLT = 93,
	SMALL_FIREBALL = 94,
};
